<?php
    require_once '../model/Projet.php';

/*
 * To change this license header, choose License Headers in Project Properties.
 * To change this template file, choose Tools | Templates
 * and open the template in the editor.
 */

class ProjetManager {
    private $bdd;
    private $listeProjet;
    
    function __construct($bdd) {
        $this->bdd = $bdd;
        $this->setListeProjet();
    }
    
    public function add(Projet $projet) {

        $q = $this->bdd->prepare('INSERT INTO PROJETS (idCat, idClas, dateDeb, dateFin, libelle) VALUES(:idCat, :idClas, :dateDeb, :dateFin, :libelle)');
        //$q->bindValue(':idProjet', $projet->getIdProjet());
        $q->bindValue(':idCat', $projet->getIdCategorie());
        $q->bindValue(':idClas', $projet->getIdClasse());
        $q->bindValue(':dateDeb', $projet->getDebutProjet());
        $q->bindValue(':dateFin', $projet->getFinProjet());
        $q->bindValue(':libelle', $projet->getLibelleProjet());
        $q->execute();
    }

    public function delete(Projet $projet) {
        $id = $projet->getIdProjet();
        $this->connexion();
        $bdd->exec('DELETE FROM PROJETS WHERE idProjet= ' . $id);
    }
    
    public function findProjet(Projet $projet){             
        $q = $this->bdd->prepare('SELECT * FROM PROJETS WHERE idProjet= '. $projet->getIdProjet());
        $q->execute();
        $donnees = $q->fetchAll();
        return $donnees;
    }
      
    public function findIdProjetByLibelle($libelle){
        $donnees=array();
        $q = $this->bdd->prepare('SELECT * FROM PROJETS WHERE libelle= '.$libelle);
        $q->execute();
        while ($data = $q->fetch()){
            $donnees[]=$data["idProjet"];
        }
        return $donnees;
    }
    
    public function getListeProjet() {
        return $this->listeProjet;
    }

    public function setListeProjet() {
        $this->listeProjet=array();
                
        $q = $this->bdd->prepare('SELECT * FROM PROJETS');
        $q->execute();
        
        while ($data = $q->fetch()){
            //array_push($this->listeClasse, $data['libelle
            $projet = new Projet($data["idProjet"], $data["libelle"],$data["dateDeb"], $data["dateFin"],$data["idCat"],$data["idClas"] );
            $this->listeProjet[]=$projet;
        }
    }


    public function getListProjet ($idClasse,$idUser) {
        $listProjet = array();
      //  $req = $this->bdd->prepare('SELECT * FROM PROJETS WHERE idClas='.$idClasse);
        $req = $this->bdd->prepare('SELECT * FROM PROJETS WHERE idProjet NOT IN (select idProjet FROM ABON_PROJET WHERE idUser='.$idUser.') AND idClas='.$idClasse );
        $req->execute();
        while ($donnees = $req->fetch()) {
            $projet = new Projet($donnees["idProjet"], $donnees["libelle"],$donnees["dateDeb"], $donnees["dateFin"],$donnees["idCat"],$donnees["idClas"] );
            array_push($listProjet, $projet);
        }
        return $listProjet;
        
    }
    
    public function getListProjetParClass ($idClasse) {
        $listProjet = array();
        $req = $this->bdd->prepare('SELECT * FROM PROJETS WHERE idClas='.$idClasse);
        
        $req->execute();
        while ($donnees = $req->fetch()) {
            $projet = new Projet($donnees["idProjet"], $donnees["libelle"],$donnees["dateDeb"], $donnees["dateFin"],$donnees["idCat"],$donnees["idClas"] );
            array_push($listProjet, $projet);
        }
        return $listProjet;
        
    }
    
    public function getList ($id) {
        $listProjet = array();
        $req = $this->bdd->prepare('SELECT * FROM PROJETS WHERE idProjet='.$id);
        $req->execute();
        while ($donnees = $req->fetch()) {
            $projet = new Projet($donnees["idProjet"], $donnees["libelle"],$donnees["dateDeb"], $donnees["dateFin"],$donnees["idCat"],$donnees["idClas"] );
            array_push($listProjet, $projet);
        }
        return $listProjet;
        
    }
}
